星巡研究院

渗透视角下的操作系统底层

**1. 干什么** CreateProcessW 以单个 API 一步完成进程创建:建立 EPROCESS 与主线程 ETHREAD、映射 PE 映像、建立 PEB 与 TEB、挂载令牌并把句柄与 ID 交回用户态,不存在 Linux 先复制再替换的两步。 **2. 谁在调** * 用户态主体:调用 CreateProcessW 的程序。 * 系统层封装:kernel32!CreateProcessW → ntdll!NtCreateUserProcess。 * 内核态主体:NtCreateUserProcess 建立对象、映射映像、填充进程与线程句柄。 **3. 做什么业务** 新进程私有地址空间从零建立,不复制父进程变量、堆与栈。句柄、环境变量、标准输入输出句柄经标志位显式选择继承,需被继承的句柄创建时即置可继承属性,且 bInheritHandles 传 TRUE,默认 FALSE 不复制。STARTUPINFO 须先清零并把 cb 字段置为结构体大小,PROCESS\_INFORMATION 由内核填回 hProcess、hThread、dwProcessI
这是进阶内容

升级理论包获取本册全部章节,从机器本质系统入门